package schema

import "fmt"

// 定义表名
const (
	PacketTable = "packets"
)

// Packet 表
type Packet struct {
	ID           int64  `db:"ID,primarykey,autoincrement"`
	Size         int64  `db:"size"`          //总数据大小
	DeviceCode   string `db:"device_code"`   //设备标识码
	CollectorID  int    `db:"collector_id"`  //收集器ID
	DeviceType   int    `db:"device_type"`   //设备类型（1通讯单元1 11通讯采集单元11 12电容表头LT-1012)
	PkgType      int64  `db:"pkg_type"`      //设备包类型
	DeviceStatus int    `db:"device_status"` //设备状态
	Data         string `db:"data"`          //数据包
	Created      int64  `db:"created"`       //创建时间（纳秒时间戳）
	CreateTime   string
	Updated      int64 `db:"updated"` //更新时间（纳秒时间戳）
	UpdateTime   string
}

// PageReqData 分页请求
type PageReqData struct {
	Page     int
	PageSize int
	PkgType  int
}

// Validate 验证
func (p *PageReqData) Validate() error {
	if p.PageSize == 0 {
		return fmt.Errorf("请求页大小为0")
	}
	return nil
}

func (p *PageReqData) String() string {
	return jsonMarshal(p)
}
